import 'sunmi_status_light_manager_platform_interface.dart';

/// 状态灯颜色枚举 - 对应商米SDK的Color枚举
enum StatusLightColor {
  red,      // 红色
  green,    // 绿色
  blue,     // 蓝色
  yellow,   // 黄色
  magenta,  // 品红
  cyan,     // 青色
  white,    // 白色
}

/// 商米状态灯管理器
class SunmiStatusLightManager {
  /// 初始化状态灯管理器
  Future<bool> initialize() async {
    return await SunmiStatusLightManagerPlatform.instance.initialize();
  }

  /// 设置状态灯颜色
  /// [color] 颜色
  Future<bool> setColor(StatusLightColor color) async {
    return await SunmiStatusLightManagerPlatform.instance.setColor(color);
  }

  /// 关闭状态灯
  Future<bool> turnOff() async {
    return await SunmiStatusLightManagerPlatform.instance.turnOff();
  }

  /// 设置单色闪烁
  /// [color] 颜色
  /// [onMs] 亮的时间（毫秒）
  /// [offMs] 灭的时间（毫秒）
  Future<bool> setFlashing(StatusLightColor color, int onMs, int offMs) async {
    return await SunmiStatusLightManagerPlatform.instance.setFlashing(
      color, onMs, offMs);
  }

  /// 设置多色闪烁
  /// [colors] 颜色数组
  /// [onMs] 每个颜色对应的亮起时间数组
  /// [offMs] 每个颜色对应的熄灭时间数组
  Future<bool> setMultiFlashing(
    List<StatusLightColor> colors,
    List<int> onMs,
    List<int> offMs,
  ) async {
    return await SunmiStatusLightManagerPlatform.instance.setMultiFlashing(
      colors, onMs, offMs);
  }

  /// 销毁状态灯管理器
  Future<bool> destroy() async {
    return await SunmiStatusLightManagerPlatform.instance.destroy();
  }
}
